@mixin normalize-typography {

    /* ==========================================================================
       Typography
       ========================================================================== */

    /**
     * Address variable `h1` font-size and margin within `section` and `article`
     * contexts in Firefox 4+, Safari 5, and Chrome.
     */

    h1 {
        font-size: 2em;
        margin: 0.67em 0;
    }

    /**
     * Address styling not present in IE 8/9, Safari 5, and Chrome.
     */

    abbr[title] {
        border-bottom: 1px dotted;
    }

    /**
     * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
     */

    b,
    strong {
        font-weight: bold;
    }

    /**
     * Address styling not present in Safari 5 and Chrome.
     */

    dfn {
        font-style: italic;
    }

    /**
     * Address differences between Firefox and other browsers.
     */

    hr {
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        height: 0;
    }

    /**
     * Address styling not present in IE 8/9.
     */

    mark {
        background: #ff0;
        color: #000;
    }

    /**
     * Correct font family set oddly in Safari 5 and Chrome.
     */

    code,
    kbd,
    pre,
    samp {
        font-family: monospace, serif;
        font-size: 1em;
    }

    /**
     * Improve readability of pre-formatted text in all browsers.
     */

    pre {
        white-space: pre-wrap;
    }

    /**
     * Set consistent quote types.
     */

    q {
        quotes: "\201C" "\201D" "\2018" "\2019";
    }

    /**
     * Address inconsistent and variable font size in all browsers.
     */

    small {
        font-size: 80%;
    }

    /**
     * Prevent `sub` and `sup` affecting `line-height` in all browsers.
     */

    sub,
    sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline;
    }

    sup {
        top: -0.5em;
    }

    sub {
        bottom: -0.25em;
    }
}